import { NextResponse } from "next/server"
import { createOpenAI } from "@ai-sdk/openai"
import { generateObject } from "ai"
import { z } from "zod"

// 创建 OpenRouter provider 实例
const openrouter = createOpenAI({
  name: "openrouter",
  baseURL: "https://openrouter.ai/api/v1",
})

// 定义响应的数据结构
const ImageResponseSchema = z.object({
  图片链接: z.string().url(),
})

export async function POST(req: Request) {
  try {
    const { 描述 } = await req.json()
    const apiKey = req.headers.get("x-api-key")

    if (!apiKey) {
      return NextResponse.json({ error: "API 密钥未提供" }, { status: 401 })
    }

    // 使用 generateObject 生成图片
    const { object } = await generateObject({
      model: openrouter("openai/dall-e-3"), // 使用 OpenRouter 的 DALL-E 3 模型
      schema: ImageResponseSchema,
      prompt: `生成一张高质量的食物图片，描述如下：${描述}。图片应该看起来美味可口，适合用于餐厅菜单。`,
      providerOptions: {
        openrouter: {
          // headers: {
          //   "HTTP-Referer": process.env.NEXT_PUBLIC_SITE_URL, // 可选：用于 OpenRouter 排名
          //   "X-Title": "美食图片生成器", // 可选：用于 OpenRouter 排名
          // },
          size: "1024x1024",
          n: 1,
        },
      },
      maxRetries: 3,
    })

    return NextResponse.json(object)
  } catch (error) {
    console.error("图片生成出错:", error)
    return NextResponse.json({ error: "图片生成失败" }, { status: 500 })
  }
}

